#include<bits/stdc++.h>
#define FR first
#define SE second
using namespace std;

const int _____=(1<<20)+5;
char ______[_____],*_______,*________;
inline char _________()
{
    if(_______==________) ________=(_______=______)+fread(______,1,_____,stdin);
    if(_______==________) return -1;return *_______++;
}
inline int __________()
{
    int ___________=0,____________=1;char _____________=_________();
    while(!isdigit(_____________)&&_____________!='-') _____________=_________();
    if(_____________=='-') ____________=-1,_____________=_________();
    while(isdigit(_____________)) ___________=___________*10+_____________-'0',_____________=_________();
    return ___________*____________;
}

typedef pair<int,int> pii;
const int ______________=0x3f3f3f3f;
const int _______________=200010;
int ________________,_________________,__________________[_______________],___________________=0;
int ____________________[20][_______________],_____________________[20][_______________];
int ______________________[_______________<<4],_______________________[_______________<<4];
pii ________________________[_______________];
bool _________________________[_______________];

int main()
{
    ________________=__________();_________________=__________();
    for(int __________________________=1;__________________________<=________________;__________________________++) __________________[__________________________]=__________();
    __________________[0]=-______________-_________________-1;__________________[________________+1]=______________+_________________+1;
    for(int ___________________________=_________________;___________________________>=0;___________________________>>=1,___________________++)
    {
        _____________________[___________________][________________+1]=________________+1;
        for(int __________________________=1;__________________________<=________________;__________________________++) ____________________[___________________][__________________________]=(__________________[__________________________]-__________________[__________________________-1]<=___________________________)?____________________[___________________][__________________________-1]:__________________________;
        for(int __________________________=________________;__________________________>=1;__________________________--) _____________________[___________________][__________________________]=(__________________[__________________________+1]-__________________[__________________________]<=___________________________)?_____________________[___________________][__________________________+1]:__________________________;
        if(___________________________==0){___________________++;break;}
    }
    for(int __________________________=1;__________________________<=________________;__________________________++) ________________________[__________________________]=pii(____________________[0][__________________________],_____________________[0][__________________________]);
    int ____________________________=unique(________________________+1,________________________+1+________________)-(________________________+1);
    for(int __________________________=0;__________________________<(1<<___________________);__________________________++) _______________________[__________________________]=________________+1;
    for(int _____________________________=0;_____________________________<(1<<___________________);_____________________________+=2)
        for(int __________________________=0;__________________________<___________________;__________________________++)
        {
            if(!(_____________________________&(1<<__________________________))) continue;
            ______________________[_____________________________]=max(______________________[_____________________________],_____________________[__________________________][______________________[_____________________________^(1<<__________________________)]+1]);
            _______________________[_____________________________]=min(_______________________[_____________________________],____________________[__________________________][_______________________[_____________________________^(1<<__________________________)]-1]);
        }
    if(____________________________>___________________) goto output;
    for(int __________________________=1;__________________________<=____________________________;__________________________++)
        for(int _____________________________=0;_____________________________<(1<<___________________);_____________________________+=2)
            if(______________________[_____________________________]>=________________________[__________________________].FR-1&&_______________________[(1<<___________________)-1-_____________________________-1]<=________________________[__________________________].SE+1)
            {
                for(int ______________________________=________________________[__________________________].FR;______________________________<=________________________[__________________________].SE;______________________________++) _________________________[______________________________]=1;
                break;
            }
    output: for(int __________________________=1;__________________________<=________________;__________________________++) puts(_________________________[__________________________]?"Possible":"Impossible");
    return 0;
}